package com.freemalll.merchant.domain.dto;

import io.swagger.v3.oas.annotations.media.Schema;
import jakarta.validation.constraints.NotBlank;
import jakarta.validation.constraints.NotNull;
import lombok.Data;

import java.math.BigDecimal;

/**
 * @author songshixiong
 * @ClassName BusinessLicenseDto
 * @description:
 * @date 2025年05月15日
 * @version: 1.0
 */
@Data
public class BusinessLicenseDto {

    @Schema(description = "营业执照id")
    private String licenseId;

    @Schema(description = "商户id")
    private String merId;

    @Schema(description = "营业执照图片地址")
    private String licenseImage;

    @Schema(description = "信用代码")
    @NotBlank(message = "信用代码不能为空")
    private String licenseCode;

    @Schema(description = "商户名称")
    @NotBlank(message = "商户名称不能为空")
    private String licenseName;

    @Schema(description = "商户简称")
    @NotBlank(message = "商户简称不能为空")
    private String licenseShortName;

    @Schema(description = "法人代表")
    @NotBlank(message = "法人代表不能为空")
    private String licenseLegalMan;

    @Schema(description = "注册资本")
    @NotNull(message = "注册资本不能为空")
    private BigDecimal licenseCapital;

    @Schema(description = "工商类型")
    @NotBlank(message = "工商类型不能为空")
    private String licenseType;

    @Schema(description = "成立日期")
    @NotBlank(message = "成立日期不能为空")
    private String licenseRegisterDate;

    @Schema(description = "营业执照有效日期起")
    @NotBlank(message = "营业执照有效日期起不能为空")
    private String licenseValidateStart;

    @Schema(description = "营业执照有效日期止")
    @NotBlank(message = "营业执照有效日期止不能为空")
    private String licenseValidateEnd;

    @Schema(description = "商户注册省份")
    private String licenseProvince;
    private String licenseProvinceName;

    @Schema(description = "商户注册市")
    private String licenseCity;
    private String licenseCityName;

    @Schema(description = "商户注册区")
    private String licenseCountry;
    private String licenseCountryName;

    @Schema(description = "商户注册详细地址")
    private String licenseAddress;

    @Schema(description = "经营范围")
    @NotBlank(message = "经营范围不能为空")
    private String licenseRunRange;

    @Schema(description = "商户码")
    private String merchantCode;
}
